package net.interest.curation.service;

import java.io.IOException;

import javax.servlet.http.HttpServletRequest;

import net.interest.curation.model.SocialUser;

/**
 * @author hrendoh
 *
 */
public interface SocialService {
    
    /**
     * サービスのOAuth認可用のURLを返します。
     * @param callbackUrl
     * @return
     * @throws IOException 
     */
    String getAuthorizeUrl(HttpServletRequest req, String callbackUrl) throws IOException;
    
    /**
     *  アクセストークンの取得と可能であればユーザ情報をサービスより取得してSocialUserにセットし返します。
     * @param token
     * @return
     * @throws IOException
     */
    SocialUser getAuthorizedUser(String token, String ... args) throws IOException;

}
